package com.ap.core.domain;

import javax.persistence.AttributeOverride;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.Table;

import com.ap.core.cxf.jaxb.common.ActivationStatus;
import org.hibernate.annotations.TypeDef;

import com.ap.core.common.types.ZappConsumerStatus;

/**
 * User: Gibu.Paul
 * 
 */

@Entity
@Table(name = "ZAPP_USER_DETAILS")
@AttributeOverride(name = "id", column = @Column(name = "ZAPP_ID"))
@TypeDef(name = "id", typeClass = Long.class)
public class ZappConsumerUser extends Identifiable<Long> {

	private static final long serialVersionUID = 2526257010315398923L;

	@Column(name = "ZAPP_CONSUMER_ID")
	private Long zappConsumerId;

	@Column(name = "FI_IDENTIFICATION")
	private String fiIdentification;

	@Column(name = "FI_CUSTOMER_ID")
	private String fiCustomerId;

	@Column(name = "zapp_consumer_status_code")
	@Enumerated(EnumType.STRING)
	private ActivationStatus zappConsumerStatusCode;
	
	@Column(name = "ZAPP_EMAIL_ID")
    private String zappEmailId;

    @Column(name = "ZAPP_MOBILE_NUMBER")
    private String zappMobileNumber;

    @Column(name = "zapp_user_status_code")
    @Enumerated(EnumType.STRING)
    private ActivationStatus zappUserStatusCode;

	private ZappConsumerUser() {
		
	}
	
	public Long getZappConsumerId() {
		return zappConsumerId;
	}

	public String getFiCustomerId() {
		return fiCustomerId;
	}

	public ActivationStatus getZappConsumerStatusCode() {
		return zappConsumerStatusCode;
	}

	public String getZappEmailId() {
		return zappEmailId;
	}

	public String getZappMobileNumber() {
		return zappMobileNumber;
	}


	public String getFiIdentification() {
		return fiIdentification;
	}

    public ActivationStatus getZappUserStatusCode() {
        return zappUserStatusCode;
    }
}
